package com.zjcode.oa.model;

import com.alibaba.fastjson.JSONObject;
import java.util.Map;
import java.util.Optional;
import lombok.Data;

/**
 * @ClassName:JsonObj
 * @功能：
 * @author：wlei
 * @日期：2022/4/8-4:53 PM
 **/
@Data
public class JsonObj {

    private boolean success;
    private int code;
    private String message;
    private Map<String, Object> data;

    /**
     * 返回成功
     *
     * @param data
     * @return
     */
    public static JsonObj success(Map<String, Object> data) {
        JsonObj jsonObj = new JsonObj();
        jsonObj.setSuccess(true);
        jsonObj.setCode(200);
        jsonObj.setMessage("");
        jsonObj.setData(data);
        return jsonObj;
    }

    public static JsonObj success(String message) {
        JsonObj jsonObj = new JsonObj();
        jsonObj.setSuccess(true);
        jsonObj.setCode(200);
        jsonObj.setMessage(message);
        jsonObj.setData(null);
        return jsonObj;
    }

    /**
     * 返回错误
     *
     * @param message
     * @return
     */
    public static JsonObj error(String message) {
        message = Optional
            .ofNullable(message)
            .orElse("出错了");
        JsonObj jsonObj = new JsonObj();
        jsonObj.setSuccess(false);
        jsonObj.setCode(500);
        jsonObj.setMessage(message);

        return jsonObj;
    }
}
